package com.ruoyi.system.service;

import com.ruoyi.system.domain.SysCertificate;
import com.ruoyi.system.domain.Work;

import java.util.List;
import java.util.Map;

public interface WorkService {

    /**
     * 根据作品id查询作品信息
     */
    public Work queryWorkByWorkid(SysCertificate sysCertificate);

    /**
     * 根据赛事id查询是否有大众评审作品
     */
    public List<Work> queryReviewWorkByEpid(Integer epid);

    /**
     * 根据大赛id查询作品信息(填充下拉框)
     */
    public List<Work> selectWorkByEpid(Integer epid);


    /**
     * 增加大赛作品投票数
     */
    public void addVoteCount(Work work);


    /**
     * 改变作品状态为大众评审作品
     */
    public void updateReviewStateByWorkId(String work_id);

    /**
     * 教师端根据教师id查询待评审作品信息
     * @param work
     * @return
     */
    public List<Work> queryWorksByTid(Work work);

    /**
     * 根据作品id修改投票数
     */
    public void updateVote(String work_id);

    /**
     * 根据大赛id查询作品信息
     */
    public List<Work> queryWorkByEpid(Integer epid);
    /**
     * 根据大赛id查询参加大众评审的作品信息
     */
    public List<Map<String, Object>> queryPublicReviewWorkByEpid(Integer epid, String event_step);
    /**
     * 查询当前品评审员负责的大赛作品信息
     * @param work
     * @return
     */
    public List<Work> queryWorks(Work work);

    /**
     * 查询管理员所有大赛作品信息
     * @param work
     * @return
     */
    public List<Work> queryWorksForAdmin(Work work);


    /**
     * 根据用户id,查询负责赛事下的所有作品id
     */
    public List<String> queryWorkIdByUserId(long userId);

    /**
     * 根据学ID查询他参赛的作品列表
     * @param sid 学生ID
     * @return
     */
    List<Work> selectWorkBySid(String sid);

}
